<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <ul class="list">
        <li>01</li>
        <li>02</li>
        <li>03</li>
        <li>04</li>
        <li>05</li>
        <li>06</li>
    </ul>
</body>
<script>
    // 扩展运算符  ...  常用展开数组和对象
    // 展开数组 => 逗号分隔的参数序列
    // 展开对象 => 逗号分隔的键值对序列


    // 扩展运算符在数组中应用:  逗号分隔的参数序列
    // 1. 将数组展开作为函数的参数(函数的参数用逗号分隔)
    // 2. 将数组展开放到新的数组中,作为数组中的元素  

    // 将数组展开作为函数的参数
    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // console.log(list);   // [1, 4, 7, 2, 5, 8, 3, 6, 9]
    // console.log(...list); // 1, 4, 7, 2, 5, 8, 3, 6, 9
    // ...list =>  1, 4, 7, 2, 5, 8, 3, 6, 9

    // 取数组中的最大值: 
    var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // var max = list[0];
    // for (var i = 1; i < list.length; i++) {
    //     if (list[i] > max) {
    //         max = list[i];
    //     }
    // }
    // console.log(max);

    // var max = Math.max(...list);
    // console.log(max);


    // 将数组展开放到新的数组中
    // 1. 数组深复制(浅拷贝 -> 只拷贝一层)
    // var list = [1, 2, 3, 4, 5, 6];
    // var arr = [...list]; // [1, 2, 3, 4, 5, 6]
    // console.log(arr, list, arr === list);

    // var list = [1, 2, 3, [4, 5, 6]];
    // var arr = [...list]; // [1, 2, 3, [4, 5, 6]]
    // console.log(arr, list, arr === list);  // false
    // console.log(arr[3], list[3], arr[3] === list[3]); //true

    // 2. 伪数组转真数组 (任何定义了遍历器（Iterator）接口的对象,都可以用扩展运算符转为真正的数组。)
    // var liList = document.querySelectorAll(".list li");
    // var list = Array.from(liList);
    // var list = [...liList];
    // console.log(list);


    // 3. 数组合并  
    var a = [1, 2, 3];
    var b = [4, 5, 6];
    var c = [7, 8, 9];

    // var list = a.concat(b, c);
    var list = [...a, ...b, ...c];
    console.log(list);

    // 4. 字符串拆分为数组(单字符)
    var str = "hello";
    var list = [...str];
    console.log(list);









</script>

</html>